package com.shuda.business.monitor.dto;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 性能监控DTO类
 */
@Schema(name = "PerformanceMonitorDTO", description = "性能监控DTO")
public class PerformanceMonitorDTO {

    @Schema(description = "平均处理时间(毫秒)")
    private Double avgProcessingTime;

    @Schema(description = "最大处理时间(毫秒)")
    private Long maxProcessingTime;

    @Schema(description = "最小处理时间(毫秒)")
    private Long minProcessingTime;

    @Schema(description = "总处理量")
    private Long totalProcessed;

    @Schema(description = "吞吐量(条/秒)")
    private Double throughput;

    @Schema(description = "CPU使用率(%)")
    private Double cpuUsage;

    @Schema(description = "内存使用率(%)")
    private Double memoryUsage;

    @Schema(description = "磁盘使用率(%)")
    private Double diskUsage;

    @Schema(description = "网络使用率(%)")
    private Double networkUsage;

    /** 平均处理时间 */
    public Double getAvgProcessingTime() { return avgProcessingTime; }
    /** 设置平均处理时间 */
    public void setAvgProcessingTime(Double avgProcessingTime) { this.avgProcessingTime = avgProcessingTime; }

    /** 最大处理时间 */
    public Long getMaxProcessingTime() { return maxProcessingTime; }
    /** 设置最大处理时间 */
    public void setMaxProcessingTime(Long maxProcessingTime) { this.maxProcessingTime = maxProcessingTime; }

    /** 最小处理时间 */
    public Long getMinProcessingTime() { return minProcessingTime; }
    /** 设置最小处理时间 */
    public void setMinProcessingTime(Long minProcessingTime) { this.minProcessingTime = minProcessingTime; }

    /** 总处理量 */
    public Long getTotalProcessed() { return totalProcessed; }
    /** 设置总处理量 */
    public void setTotalProcessed(Long totalProcessed) { this.totalProcessed = totalProcessed; }

    /** 吞吐量 */
    public Double getThroughput() { return throughput; }
    /** 设置吞吐量 */
    public void setThroughput(Double throughput) { this.throughput = throughput; }

    /** CPU使用率 */
    public Double getCpuUsage() { return cpuUsage; }
    /** 设置CPU使用率 */
    public void setCpuUsage(Double cpuUsage) { this.cpuUsage = cpuUsage; }

    /** 内存使用率 */
    public Double getMemoryUsage() { return memoryUsage; }
    /** 设置内存使用率 */
    public void setMemoryUsage(Double memoryUsage) { this.memoryUsage = memoryUsage; }

    /** 磁盘使用率 */
    public Double getDiskUsage() { return diskUsage; }
    /** 设置磁盘使用率 */
    public void setDiskUsage(Double diskUsage) { this.diskUsage = diskUsage; }

    /** 网络使用率 */
    public Double getNetworkUsage() { return networkUsage; }
    /** 设置网络使用率 */
    public void setNetworkUsage(Double networkUsage) { this.networkUsage = networkUsage; }
}